/*
 * Copyright (c) 2019-2020, https://api.iot.10086.cn/(https://gitee.com/cmcc-iot-api/iot-card-open-application/).
 */
package cn.iot.card.open.sim.dto.general;

import cn.stylefeng.roses.core.util.ToolUtil;

/**
 * 物联卡节电参数变更DTO
 */
public class SimParamNodeDTO {

    /**
     * 物联卡号
     */
    private String msisdn;

    /**
     * APN名称:
     * CMNBIOT；
     * CMNBIOT1；
     * CMNBIOT2；
     * CMNBIOT3；
     * CMNBIOT4；
     * CMNBIOT5；
     * CMNBIOT6；
     */
    private String apnName;

    /**
     * 定时器精度：（当APNNAME为CMNBIOT1，CMNBIOT3，CMNBIOT4，CMNBIOT5时不传）
     * 1：6分钟,
     * 2：10分钟,
     * 3：1小时,
     * 4：10小时
     */
    private String precisionType;

    /**
     * 对应精度值，根据precisionType的选择填写（单位默认与精度类型保存一致）：
     * 当precisionType为1时：枚举值范围在(以精度递增)54分钟、60分钟、66分钟、72分钟……174分钟、180分钟、186分钟之间选择。
     * 当precisionType为2时：枚举值范围在(以精度递增)190分钟、200分钟、210分钟……290分钟、300分钟、310分钟之间选择。
     * 当precisionType为3时：枚举值范围在(以精度递增)6小时、7小时、8小时……29小时、30小时、31小时之间选择。
     * 当precisionType为4时：枚举值范围在(以精度递增)40小时、50小时、60小时……290小时、300小时、310小时之间选择。
     * （当APNNAME为CMNBIOT1，CMNBIOT3，CMNBIOT4，CMNBIOT5时不传）
     */
    private String precisionVal;

    public String getMsisdn() {
        return msisdn;
    }

    public void setMsisdn(String msisdn) {
        this.msisdn = msisdn;
    }

    public String getApnName() {
        return apnName;
    }

    public void setApnName(String apnName) {
        this.apnName = apnName;
    }

    public String getPrecisionType() {
        return precisionType;
    }

    public void setPrecisionType(String precisionType) {
        this.precisionType = precisionType;
    }

    public String getPrecisionVal() {
        return precisionVal;
    }

    public void setPrecisionVal(String precisionVal) {
        this.precisionVal = precisionVal;
    }

    @Override
    public String toString() {
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("物联卡号:").append(msisdn).append(",");
        stringBuilder.append("APN名称:").append(apnName).append(",");
        if (ToolUtil.isNotEmpty(precisionType) && precisionType.equals("1")) {
            stringBuilder.append("定时器精度:").append("6分钟").append(",");
            stringBuilder.append("对应精度值:").append(precisionVal).append("分钟");
        } else if (ToolUtil.isNotEmpty(precisionType) && precisionType.equals("2")) {
            stringBuilder.append("定时器精度:").append("10分钟").append(",");
            stringBuilder.append("对应精度值:").append(precisionVal).append("分钟");
        } else if (ToolUtil.isNotEmpty(precisionType) && precisionType.equals("3")) {
            stringBuilder.append("定时器精度:").append("1小时").append(",");
            stringBuilder.append("对应精度值:").append(precisionVal).append("小时");
        } else if (ToolUtil.isNotEmpty(precisionType) && precisionType.equals("4")) {
            stringBuilder.append("定时器精度:").append("10小时").append(",");
            stringBuilder.append("对应精度值:").append(precisionVal).append("小时");
        }
        return stringBuilder.toString();
    }
}
